Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Miami Open - Miami Mutua Madrid Open - Madrid French Open - Paris Wimbledon - London National Bank Open - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai National Bank Open - Toronto BNP Paribas Open - Indian Wells Australian Open - Melbourne Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F33 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F3 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F17 Spain F18 Spain F19 Spain F20 Romania F10 Romania F11 Spain F30 Spain F31 Spain F33 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F26 Spain F28 Spain F31 Spain F34 Spain F35 Spain F36 Spain F37 Spain F38 Spain F39 Spain F1 Spain F2 Spain F3 Spain F5 Portugal F1 France F4 Portugal F2 Spain F10 Spain F11 Spain F13 Spain F14 Spain F15 Spain F17 Spain F20 Spain F21 Spain F22 Spain F24 Spain F25 Spain F26 Spain F27 Spain F29 Spain F30 Spain F32 Spain F35 Spain F36 Spain F37 Spain F38 Spain F39 Turkey F1 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Croatia F5 Croatia F6 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Spain F16 Belgium F1 Netherlands F4 Spain F20 Spain F21 Spain F22 Italy F22 USA F28 USA F1 USA F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Spain F9 Spain F14 Italy F22 Spain F32 Portugal F9 National Bank Open - Toronto Tarragona Challenger Rennes Challenger Tanger Challenger Rabat Challenger Tunis Challenger Turin Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Izmir Challenger Quimper Challenger Guangzhou Challenger Kosice Challenger Braunschweig Challenger San Marino Challenger Quimper Challenger Casablanca Challenger Tampere Challenger Segovia Challenger Como Challenger Alphen Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Sacramento Challenger Tiburon Challenger Rio De Janeiro Challenger Porto Alegre Challenger Charlottesville Challenger Montevideo Challenger Yokohama Challenger Savannah Challenger Furth Challenger Prague Challenger Milan Challenger Todi Challenger Poznan Challenger Recanati Challenger San Marino Challenger Cordenons Challenger Kenitra Challenger Yeongwol Challenger Chitre Challenger Cherbourg Challenger Barranquilla Challenger Sarasota Challenger Rome Challenger Caltanissetta Challenger Todi Challenger Scheveningen Challenger Poznan Challenger Vancouver Challenger Aptos Challenger Seville Challenger Charlottesville Challenger Knoxville Challenger Cherbourg Challenger Quimper Challenger Mersin Challenger Vercelli Challenger Furth Challenger Prague Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Barranquilla Challenger Casablanca Challenger Kobe Challenger Yokohama Challenger Canberra Challenger Lyon Challenger Braunschweig Challenger Cordenons Challenger Como Challenger Seville Challenger Ho Chi Minh City Challenger Maui Challenger Buenos Aires Challenger Shanghai Rolex Masters - Shanghai Vancouver Challenger Seville Challenger Ningboo Challenger Canberra Challenger Lisbon Challenger Poznan Challenger Phoenix Challenger Chengdu Open - Chengdu Parma Challenger Szczecin Challenger Biella Challenger Fairfield Challenger Canberra Challenger Burnie Challenger Hamburg Challenger Nur-Sultan 2 Challenger Marbella Challenger Belgrade Challenger Oeiras 3 Challenger Lyon Challenger Szczecin Challenger Braga Challenger Lisbon Challenger Las Vegas Challenger Tenerife Challenger Helsinki Challenger Quimper Challenger Bordeaux Challenger Amersfoort Challenger Aix En Provence Challenger Braga Challenger Estoril Open - Estoril Estoril Open - Estoril Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Apia International - Sydney VTR Open - Vina del Mar Abierto Mexicano Telcel - Acapulco Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Apia International - Sydney Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Grand Prix Hassan II - Casablanca Portugal Open - Oeiras Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Brisbane International - Brisbane Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia Aircel Chennai Open - Chennai ASB Classic - Auckland Rio Open - Rio de Janeiro Open 13 - Marseille Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest Open de Nice Cote d'Azur - Nice St. Petersburg Open - St. Petersburg Argentina Open - Buenos Aires Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Suisse Open - Gstaad Generali Open - Kitzbuhel St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen ASB Classic - Auckland Garanti Koza Sofia Open - Sofia TEB BNP Paribas Istanbul Open - Istanbul Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Brisbane International - Brisbane ASB Classic - Auckland Sydney International - Sydney Argentina Open - Buenos Aires Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril BMW Open - Munich Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle SkiStar Swedish Open - Bastad Swiss Open - Gstaad St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Open Sud de France - Montpellier Generali Open - Kitzbuhel European Open - Antwerp Forte Village Sardegna Open - Sardinia Sofia Open - Sofia Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade BMW Open - Munich Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Sardegna Open - Cagliari Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Adelaide International 1 - Adelaide Cordoba Open - Cordoba Sony Open Tennis - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, World Group, QF, JPN-CZE 0-5 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, World Group, QR, CHN-JPN 2-3 U.S. Open (juniors) Olympics - Rio de Janeiro Spain F27 Spain F6 USA F2 San Juan Challenger Orbetello Challenger Seville Challenger Tallahassee Challenger Cremona Challenger Pozoblanco Challenger Kos Succhetti Tennis Cup - Cordenons Kosice Challenger Bordeaux Challenger Furth Challenger Como Challenger Braunschweig Challenger Lisbon Challenger Sydney Challenger Girona Challenger Seoul Challenger Bratislava 2 Challenger Calgary Challenger Matsuyama Challenger Oeiras 2 Challenger Prague 3 Challenger Mamaia Challenger - Constanta 84° Concurso Internacional Tenis San Sebastian - San Sebastian Porto Challenger Playford Challenger Drummondville Challenger Oeiras 1 Challenger Kobe Challenger Guangzhou Challenger Ismaning Challenger Seville Challenger Mallorca Challenger Reggio Emilia Challenger Meknes Challenger Marrakech Challenger Leon Challenger Heilbronn Challenger Courmayeur Challenger Seville Challenger Casablanca Challenger Pingguo Challenger St. Brieuc Challenger Tallahassee Challenger Bordeaux Challenger Rome Challenger Taipei 2 Challenger Furth Challenger Marburg Challenger Tampere Challenger Sao Paulo Challenger Segovia Challenger San Sebastian Challenger Seville Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Eckental Challenger Kazan Challenger Bergamo Challenger Meknes Challenger Rome Challenger Rabat Challenger Marburg Challenger Marrakech Challenger Trnava Challenger Mersin Challenger Rome Challenger Jinan Challenger Bordeaux Challenger Furth Challenger Milan Challenger Sibiu Challenger Cordenons Challenger Santiago Challenger Lisbon Challenger Las Vegas Challenger Braunschweig Challenger Panama City Challenger Knoxville Challenger Kosice Challenger San Benedetto Challenger Guimaraes Challenger Toyota Challenger Indian Wells Challenger Seoul Challenger Yokohama Challenger Mestre Challenger Heilbronn Challenger Cassis Challenger Biel Challenger Orleans Challenger Barcelona Open BancSabadell - Barcelona Bratislava Challenger Aptos Challenger Rome Challenger Charlottesville Challenger ABN AMRO World Tennis Tournament - Rotterdam Guangzhou Challenger Shenzhen Challenger Prostejov Challenger Parma Challenger Manerbio Challenger Qatar ExxonMobil Open - Doha Girona Challenger Kobe Challenger Braunschweig Challenger Scheveningen Challenger Brest Challenger Traralgon Challenger Kobe Challenger Oeiras 3 Challenger Monterrey Challenger Sarasota Challenger Cagliari Challenger Suzhou Challenger Tunis Challenger Szczecin Challenger Vicenza Challenger Open Sud de France - Montpellier Cassis Challenger Milan Challenger Genova Challenger Sibiu Challenger Moselle Open - Metz Istanbul Challenger Antalya 2 Challenger Salzburg-Anif Challenger Ortisei Challenger Mallorca Challenger Madrid Challenger Alicante Challenger Charlottesville Challenger Forli 6 Challenger Cagliari Challenger Bordeaux Challenger Melbourne Summer Set - Melbourne Salzburg Challenger Turin Challenger Phoenix Challenger Open Parc - Lyon Winston-Salem Open - Winston-Salem Adelaide International - Adelaide Bordeaux Challenger Canberra Challenger Abierto Mexicano Telcel - Acapulco San Diego Challenger Phoenix Challenger Mauthausen Challenger Perugia Challenger Sassuolo Challenger Winston-Salem Open - Winston-Salem Astana Open - Astana cinch Championships - London Winston-Salem Open - Winston-Salem Plava Laguna Croatia Open - Umag Hong Kong Tennis Open - Hong Kong Estoril Open - Estoril Chengdu Open - Chengdu ASB Classic - Auckland Power Horse Cup - Dusseldorf Delray Beach Open - Delray Beach Citi Open - Washington Maia Challenger Dallas Open - Dallas Dallas Open - Dallas Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Gonet Geneva Open - Geneva Korea Open - Seoul Mallorca Championships - Mallorca Japan Open Tennis Championships - Tokyo US Men's Clay Court Championship - Houston Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech Gerry Weber Open - Halle Antalya Cup - Antalya Mifel Tennis Open - Los Cabos If Stockholm Open - Stockholm Open Sud de France - Montpellier Open 13 - Marseille Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Aircel Chennai Open - Chennai Brasil Open - Sao Paulo Copa Claro - Buenos Aires Power Horse Cup - Dusseldorf St. Petersburg Open - St. Petersburg Valencia Open - Valencia Open Sud de France - Montpellier Moselle Open - Metz China Open - Beijing Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Erste Bank Open - Vienna Abierto Mexicano Telcel - Acapulco Heineken Open - Auckland Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Bet-at-home Open - Hamburg St. Petersburg Open - St. Petersburg Valencia Open - Valencia ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha ASB Classic - Auckland Rio Open - Rio de Janeiro Konzum Croatia Open - Umag Brasil Open - Sao Paulo Rakuten Japan Open - Tokyo Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Geneva Open - Geneva Gerry Weber Open - Halle AEGON Championships - London European Open - Antwerp ABN AMRO World Tennis Tournament - Rotterdam New York Open - New York Delray Beach Open - Delray Beach Shenzhen Open - Shenzhen Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Antalya Cup - Antalya Almaty Open - Almaty St. Petersburg Open - St. Petersburg Abierto Mexicano - Los Cabos Intrum Stockholm Open - Stockholm Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Turkish Airlines Open Antalya - Antalya Plava Laguna Croatia Open - Umag Abierto Mexicano de Tenis Mifel - Los Cabos Swiss Indoors Basel - Basel ASB Classic - Auckland Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Hamburg European Open - Hamburg Murray River Open - Melbourne Millennium Estoril Open - Estoril Mallorca Championships - Mallorca Cordoba Open - Cordoba Adelaide International 1 - Adelaide Anytech365 Andalucia Open - Marbella cinch Championships - London Tata Open Maharashtra - Pune Nordea Open - Bastad Qatar ExxonMobil Open - Doha San Diego Open - San Diego Mercedes Cup - Stuttgart Mallorca Championships - Mallorca Swiss Open - Gstaad Truist Atlanta Open - Atlanta Generali Open - Kitzbuhel Citi Open - Washington Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Swiss Indoors Basel - Basel Erste Bank Open - Vienna Chengdu Open - Chengdu Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Tennis Napoli Open - Naples ASB Classic - Auckland Delray Beach Open - Delray Beach Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Banja Luka Open - Banja Luka Citi Open - Washington Delray Beach Open - Delray Beach BMW Open - Munich Mifel Tennis Open - Los Cabos Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Nordea Open - Bastad Gerry Weber Open - Halle US Men's Clay Court Championship - Houston Dubai Duty Free Tennis Championships - Dubai Vegeta Croatia Open - Umag Argentina Open - Buenos Aires Hall of Fame Open - Newport Nordea Open - Bastad Singapore Tennis Open - Singapore Millennium Estoril Open - Estoril Noventi Open - Halle Argentina Open - Buenos Aires China Open - Beijing cinch Championships - London Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Australian Open - Melbourne BNP Paribas Open - Indian Wells Wimbledon - London Internazionali BNL d'Italia - Rome Miami Open - Miami Mutua Madrid Open - Madrid Almaty Open - Almaty Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Wimbledon - London Cincinnati Open - Cincinnati Davis Cup, Group I, 1R, AUT-POR 1-3 U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 1R, POR-BRA 3-1 Wimbledon (juniors) U.S. Open - New York Wimbledon - London Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, Group I, PO, JPN-POL 4-0 Australian Open - Melbourne U.S. Open - New York Davis Cup, Group II, 3R, POR-BLR 3-2 All Lower level tournaments Olympics - Tokyo French Open - Paris EFG Swiss Open - Gstaad Olympics - Paris Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, World Group, 1R, GBR-JPN 3-1 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, World Group, PO, COL-JPN 2-3 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, World Group, 1R, JPN-FRA 1-4 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, World Group, 1R, JPN-ITA 1-3 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, World Group, Q, FIN-POR 3-1 French Open (juniors)